As one of methods for efficiently executing processing that takes much time and processing that requires high cost, a method of executing processing by a server computer (to be referred to as “server” hereinafter) in a concentrated manner is known. Such method is well known as a client-server system.
In general, in the client-server system, servers are considered as resources, and servers which can be used by a client computer (to be referred to as “client” hereinafter) are limited via user authentication using, e.g., a password or the like.
Under such circumstances, the client stores the IDs and passwords of a plurality of servers, and each user must input his or her ID and password every time he or she accesses each server.
By contrast, there is disclosed so-called SSO (Single Sign-on) in which a “node” is arranged between services provided by the servers and the client that requests these services, and that node alternately executes user authentication in an integrated fashion. Such technique is disclosed in, e.g., Japanese Patent Laid-Open No. 2003-330886.
FIG. 9 is a conceptual diagram for explaining the function which is disclosed in Japanese Patent Laid-Open No. 2003-330886, and alternately executes user authentication in an integrated fashion. A client-server system shown in FIG. 9 has a node 904 between web servers 905 to 907 and clients 901 and 902, and is configured so that the node 904 can provide a plurality of services to the clients via a network 903.
With such configuration, according to Japanese Patent Laid-Open No. 2003-330886, the node 904 which received a service request from the client 901 or 902 simulates the operations of the web servers 905 to 907. Upon completion of SSO (Single Sign-on), the node 904 transfers the request of the web service to the web server (one of 905 to 907) which provides the requested web service. As a result, the user can receive a desired web service from the web server as the transfer destination. When the user wants to access another web server later, he or she need not input any ID or password, thus improving operability.
In this manner, the node is arranged between the clients and servers, and alternately executes user authentication in an integrated fashion, thus improving the operability in user authentication. On the other hand, enhancement of security for document files to be processed by such system is demanded.
Hence, as an example of the aforementioned client-server system, an MFP (Multi Function Peripheral) which can provide services or web services such as a print service, scan service, and FAX service will be exemplified. A client-server system in which a client is connected to that MFP to communicate with each other will be exemplified, and an aspect of the security function in this system will be examined.
In such client-server system, upon opening a document file on the client and printing out that document file using a print service provided by a print server in the MFP, security is normally guaranteed by executing the following authentication processing.
Upon opening the document file on the client, since it is requested to input a password and the like, it is authenticated whether or not the user of interest has “file use authority” required to use the document file on the client.
Furthermore, when the print service of the MFP is used via the client, user authentication as to whether or not the user of interest has the use authority of the print service (“print service use authority”) is made. In this way, by confirming if the user of interest has the use authority on both the client and MFP sides, document files can be inhibited from being accessed or printed out readily.
However, it is sometimes demanded to permit access to a specific document file on the client (to grant the file use authority to the user), but not to permit printing out using the print service.
Such case can be coped with by limiting the print service use authority of the user. However, the user whose use authority cannot receive the print service even for document files (those which are permitted to be printed out) other than the specific document file. Contrary to this, the user can print out document files which are not permitted to be printed out as long as he or she has the use authority of the print service. Hence, the security for respective documents cannot be coped with by limiting the use authority of the print service.
To solve such problems, in the aforementioned client-server system, the following ones of a plurality of document files which are opened on the client are preferably separately handled. The first document file is the one which can be printed out using the print service if the user can use the print service provided by the MFP (such document file will be referred to as a “document file with a print authority” hereinafter). The second document file is the one which is inhibited from being printed out using the print service even by the user who has the use authority of the print service (such document file will be referred to as a “document file without a print authority” hereinafter).
However, it is not easy to manage the print authority, which are not limited by a normal OS, for respective document files, and to consistently control the client-server system without contradiction.
For example, the following means may be proposed as one of means for implementing such function. That is, a program of the print service provided by the MFP may be modified to be able to check on the basis of a print service request whether or not the requested document file is the one with the print authority. However, in order to manage the print authority for respective document files, every time a document file without a print authority is added, the program of the existing print service must be modified, thus requiring huge man-hours.
Also, for example, as another means for implementing such function, an agent may be provided to the client, and may manage the presence/absence of the print authority. Note that the agent is a module for checking if the document file is the one with the print authority upon using the print service provided by the MFP, and can be implemented by a method such as an API hook or the like. However, with such method, when the agent effects the API hook, applications which can control the print authority for respective document files are limited to a specific application which is determined in advance and is intended by the agent.
Under such circumstances, in the aforementioned client-server system, it is demanded to manage the presence/absence of the print authority for respective document files by a simple operation.